The present embodiments relate to computer systems, and are more particularly directed to a system with program for automating protocol assignments when newly connected to varying computer network configurations.
Data communication is now a key part of modern computing and is available over a wide variety of networks. This data communication may be used for various reasons, such as business, science, personal, or entertainment. The various media to communicate data between users also has proliferated. Such media include both local area networks (LANs) as well as wide area networks (WANs). There is likely no clear formal line between the definition of a LAN or a WAN, but it is generally accepted that a LAN is for more local communication of data such as within a small location, building, or complex, while a WAN is for communication of data across a greater distance which may be across a nation or even worldwide. In any event, the existence of networks for purposes of data communication is now very popular, and appears to be a way of life for the foreseeable future.
Another trend in the field of computers has been mobility. Specifically, various types of mobile computers are now quite popular, such as notebooks, laptops, and even hand-held computer devices which often operate based on scaled-down versions of contemporary operating systems and execute scaled-down versions of contemporary application programs. For each of these device types, its increased use and popularity has spanned newer industries and also appears to represent a common manner of conducting business and personal computing in the future.
Given the above, there is now an overlap of these concepts, that is, data communication among networks and the use of mobile computers. Particularly, a mobile computer user may now desire to move the computer from one network to another, and therefore have the ability to communicate with each different computer network. For example, a computer user may have a notebook computer connected to a LAN in his or her office, and the user may take that computer with them on business to a different facility with a different LAN. As another example, the same user may move their notebook computer to a different LAN within the same facility, such as by attending a meeting in a conference room or the like which has its own network, where that network may be further connected via a gateway or other mechanism to still other networks.
With the desire to move computers as discussed above, numerous complexities arise as are recognized by one skilled in the art. However, of particular consideration to appreciate the inventive embodiments described below, note that under many current operating systems, such as the WINDOWS 95 operating system provided by MICROSOFT, a user of a mobile computer as described above may require particularized and somewhat complicated knowledge to accomplish successful moves of the mobile computer, or may require access to a person such as a computer systems administrator to provide such knowledge. For example, under the current WINDOWS 95 operating system, when a computer is connected via a hardware interface to a network, a sophisticated user is aware that various user inputs must be provided so that the user's computer may effectively operate using the newly-connected network. In this regard, the user is required to have sufficient familiarity to bring up certain menus and options so as to input the information, and also of course requires sufficient knowledge of various attributes of the newly connected network and its resources in order to input this information in response to those menus and options.
One type of input typically required of a user when connecting its computer to a network is a configuration for the computer to communicate with the network protocol. One considerably prolific network protocol is known in the art as IP (internetwork protocol). Often the IP is mentioned as part of TCP/IP; however, TCP/IP is actually a combination of the two standards used in the protocol. The first protocol is TCP which is an abbreviation for transport control protocol. The second protocol is the IP introduced above. Although the name TCP/IP combines these two standards, in actuality the standards are implemented in an ordered level manner such that the TCP protocol is closer to the application level and the IP protocol is closer to the physical network connection level. In any event, TCP/IP is well known and permits packets of information to be sent and received along different types of networks. For detailed information on TCP/IP, the reader may find numerous contemporary and commercially available publications, such as "Intenetworking With TCP/IP," Volumes I through III, by Douglas E. Comer, Third Edition (1995 by Prentice Hall), which is hereby incorporated herein by reference.
Under the IP protocol, there are various settings which are either required or often used when configuring a computer to communicate with a network. For example, one of the required settings is an IP address which, as known in the art, uniquely distinguishes the computer from other computers connected to the same network. As another example of an IP setting, there is a subnet mask. This mask is used in combination with the IP address for certain intenetwork communications, that is, the passing of information from the network to which the computer is connected to a different network. As yet another IP setting example, a default gateway is also often included with the IP configuration, where this identifies a computer which operates as a gateway to a different network. Lastly, the IP setting may include an IP address of machines which provide name services.
Given the various IP settings, note how they are implicated in the earlier notion that a user may be required to have particular knowledge to configure his or her computer. Specifically, under the current art, there are both static IP networks and dynamically configurable IP networks, where each presents a manner in which the computer is provided its IP settings. Note also that each of these techniques under the current art requires various actions and, therefore, various levels of sophistication, by the user or the person configuring the computer for the user. To better appreciate these considerations, each of the static IP and dynamically configurable IP networks is discussed separately, below.
As introduced above, a static IP network presents one type of environment for establishing the IP settings for a computer connected to such a network. In the static IP network, a computer user is required to manually input the IP settings to the computer. Therefore, first the user must know that this action is required of him or her. Second, the user must be aware of how to bring up the required menus and input screens to be able to input the information. Still further, once the appropriate input screens are reached, the user must be aware of the setting information, such as the IP address, the subnet mask, the default gateway, and the IP address of one or more computers providing name services. Consequently, the user must be fairly savvy to possess such knowledge. In addition, if the user later moves the computer from the first network to a second network, then this static information is overwritten by the IP settings of the different network. Therefore, the user is required to reconfigure the computer once again when returning to the first network. As one approach, the user is required to remember the IP settings or otherwise note them somewhere and then re-input those settings into the computer. As another approach which may be used in limited circurnstances, there is currently a software product on the market known as "IP switch", where this product allows the user to store two different sets of IP settings in the computer, and attribute each of those sets to a different type of network interface circuit. Thereafter, once the user connects to a network, he or she may run the software product and choose one of two types of network interface circuits, thereby selecting the static IP settings corresponding to the chosen network interface circuit. This approach only assists the user if the second network requires a different type of hardware interface when connecting to it as opposed to the first network. Also, this approach requires that at least initially the user manually input both of the two sets of IP settings. In any event, therefore, there are clear complexities involved to a user who disconnects its computer from a static IP network to connect it to a different network, and then to later return to the original static IP network.
Also as introduced above, a dynamically configurable IP network presents another type of environment for establishing the IP settings for a computer connected to such a network. One commonly implemented dynamically configurable IP network is known as the dynamically host configurable protocol, or "DHCP". In a DHCP network, a computer user is not required to manually input the IP settings to the computer, but there are other complexities imposed on the user for properly configuring the computer to the network. Again, first the user must know that various actions are required of him or her, and these actions are required to properly disconnect from one DHCP network and also to properly connect to a different DHCP network. Once again, the user must be aware of how to bring up the required menus. For example, for a user to properly disconnect from a DHCP network, then the user must physically uncouple the hardware from the network but is further required to "release" the DHCP "lease" given to the computer. This latter action may be accomplished in two manners. As a first approach such as is used under the WINDOWS 95 operating system, the user may bring up the appropriate input window and click a release button in that window. As a second approach in other operating systems, the user may power down the computer and, provided that power down properly occurs, the DHCP lease will be released. As to this latter approach, however, note that errors in the power down sequence may occur, thereby preventing the release from occurring. Once again, therefore, the user must be fairly savvy to possess sufficient knowledge of the required activities. In addition, if the user then moves the computer from the first network to a second network, the user is then required to "renew" a DHCP lease from the next network (assuming the next network is also a DHCP network). Note, however, that renewal first requires that a proper release occurred with respect to the prior DHCP network. For example, if the user powered down the computer to obtain a release, but that power down did not occur in the proper manner, then it may be that renewal cannot be achieved because the release has not yet occurred. In any event, assuming a proper release has occurred, renewal also may be accomplished in one of two manners. First, the user may bring up the appropriate input window and click a renew button in that window. Second, the user may power up the computer after having connected it to the second network. In either event, once again the user must possess certain knowledge to accomplish these many steps to ensure they occur properly.
In view of the above, as networks grow even more in popularity and also as the mobility of computers increases, there arises a need to permit the combination of these technologies to be more user-friendly and accommodate at least in certain circumstances either less sophisticated users or users who do not have access to other persons who may advise the user regarding the combination of network and mobility technologies. The present embodiments are directed at such needs, and arise specifically in the context of moving a computer from a base network to other foreign networks, as detailed below.